<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>
  <ul>
    <li>1</li>
    <li>2</li>
    <li>3</li>
    <li>4</li>
    <li>5</li>
    <li>6</li>
  </ul>
  <script>
    var arr = [2, 15, 25, 4, 12, 34, 102, 56, 87, 35, 42]
    console.log(arr);
    // for (var i = 0; i < arr.length; i++) {
    //   console.log(arr[i])
    // }
    // // foreach
    // arr.forEach(function (ele, index, array) {
    //   console.log(ele, index, array);
    // })
    // var list = document.querySelectorAll("li")

    // list.forEach(function (ele, i) {
    //   ele.addEventListener("click", function () {
    //     console.log(ele)
    //   })
    // })

    //2 map, 对元素操作(加减乘除),返回新数组
    // var newArr = arr.map(function (ele, i, array) {
    //   // console.log(ele, i, array);
    //   return ele > 20 ? ele + 5 : ele;
    //   // if (ele > 20) {
    //   //   return ele;
    //   // }
    // })
    // // console.log(newArr);

    // //3 filter, 过滤
    // var newArr = arr.filter(function (ele, i) {
    //   // if (ele % 5 == 0) {
    //   //   return ele;
    //   // }
    //   if (ele > 10 && ele < 100) {
    //     return ele
    //   }
    // })
    // console.log(newArr);

    // //4 some, 只有有一个元素满足条件返回true

    // var flag = arr.some(function (ele, i) {
    //   return ele > 100;
    // })
    // console.log(flag);

    // //5 evey 所有元素必须都满足条件返回true
    // var flag = arr.every(function (ele, i) {
    //   return ele > 20;
    // })
    // console.log(flag);

    //6 find, 返回满足条件的第一个元素,不满足返回undefined
    // var flag = arr.find(function (ele, i) {
    //   return ele > 50
    // })
    // console.log(flag);

    //7 reduce
    var total = 0;//求和的初始值, 如不指定为0
    var sum = arr.reduce(function (r, ele) {
      console.log(r);
      return r + ele
    }, total)
    console.log(sum);

    // var sum = arr.reduce(
    //   (r, ele) =>
    //     r + ele
    //   , total)
    // console.log(sum);
    // console.log(total);
  </script>
</body>

</html>